#ifndef ASTYLEOPTIONDIALOG_H
#define ASTYLEOPTIONDIALOG_H
//AStyle代码格式化工具的选项对话框
class AStyleOptionDialog : public QDialog
{
    Q_OBJECT
public:
    AStyleOptionDialog(QWidget *parent = 0); //构造函数

    QCheckBox *deleteExtraLinesCheckBox = nullptr;
    QCheckBox *insertSpaceCheckBox = nullptr;
    QCheckBox *autoFormatCheckBox = nullptr;
    QComboBox *bracketStyleComboBox = nullptr;
    QComboBox *indentStyleComboBox = nullptr;
    QSpinBox * indentWidthSpinBox = nullptr;
    QSpinBox * maxLineWidthSpinBox = nullptr;

    QCheckBox *maxLineWidthCheckBox = nullptr;

    QCheckBox *classesCheckBox = nullptr;
    QCheckBox *namespacesCheckBox = nullptr;
    QCheckBox *switchesCheckBox = nullptr;
    QCheckBox *labelsCheckBox = nullptr;
    QCheckBox *casesCheckBox = nullptr;
    QCheckBox *commentsCheckBox = nullptr;

private:
    QPushButton *okButton = nullptr; //定义OK按钮
    QPushButton *defaultButton = nullptr; //定义Default按钮
    QPushButton *cancelButton = nullptr; //定义Cancel按钮
    void okButtonClicked(); //OK按钮点击时的处理函数
    void defaultButtonClicked(); //Default按钮点击时的处理函数
    void cancelButtonClicked(); //Cancel按钮点击时的处理函数
    void maxLineWidthCheckBoxStateChanged(Qt::CheckState state);
    void showEvent(QShowEvent* event) override;
};

#endif
